home *** CD-ROM | disk | FTP | other *** search
/ SGI Varsity Update 1998 August / SGI Varsity Update 1998 August.iso / dist / patchSG0002777.idb / usr / relnotes / patchSG0002777 / ch1.z / ch1
Text File  |  1998-07-29  |  40KB  |  1,123 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        1.  _P_a_t_c_h__S_G_0_0_0_2_7_7_7__R_e_l_e_a_s_e__N_o_t_e
  9.  
  10.        This release note describes patch SG0002777 to IRIX 6.2.
  11.  
  12.        Patch SG0002777 replaces patches SG0001990, SG0001717,
  13.        SG0001733, SG0001650, SG0001624, SG0001622, SG0001569,
  14.        SG0001488, SG0001534, SG0001493, SG0001429, SG0001389,
  15.        SG0001353, SG0001323, SG0001243, SG0001222, SG0002187, and
  16.        SG0002298.
  17.  
  18.        1.1  _S_u_p_p_o_r_t_e_d__H_a_r_d_w_a_r_e__P_l_a_t_f_o_r_m_s
  19.  
  20.        This patch contains bug fixes for Crimson and all Challenge
  21.        systems except for Challenge S and Power Challenge M.
  22.  
  23.  
  24.        1.2  _S_u_p_p_o_r_t_e_d__S_o_f_t_w_a_r_e__P_l_a_t_f_o_r_m_s
  25.  
  26.        This patch contains bug fixes for IRIX 6.2 (version
  27.        1232792137).  The software cannot be installed on other
  28.        configurations.
  29.  
  30.        1.3  _B_u_g_s__F_i_x_e_d__b_y__P_a_t_c_h__S_G_0_0_0_2_7_7_7
  31.  
  32.        This patch contains fixes for the following bugs in IRIX
  33.        6.2.  Bug numbers from Silicon Graphics bug tracking system
  34.        are included for reference.  For bugs fixed in prior
  35.        patches, fix descriptions are grouped under the replaced
  36.        patches.
  37.  
  38.           +o Bug #559619 :  The bug was that sysmips(MIPS_FIXADE, 1,
  39.             0, 0) was not working properly.  And indeed, for
  40.             double-word stores, this was broken since 6.2 shipped.
  41.             This bug affected platforms that use 32-bit kernels -
  42.             IP17, IP20, and IP22.  This also only affected n32-
  43.             based binaries.  Store-doubles that were 'fixed' by
  44.             FIXADE would be trashed, so subsequent uses of that
  45.             data would return trash.
  46.  
  47.           +o Bug #552632 :  After using prctl(PR_SETABORTSIG) to
  48.             establish a sproc() group abort signal, a subsequent
  49.             exec() by a sproc() thread caused the abort signal to
  50.             be sent.
  51.  
  52.           +o Bug #551348 :  Scache error handling fixes for IP19
  53.             platforms.
  54.  
  55.           +o Bug #531626 :  Addresses scaling problem for I/O on
  56.             pollable channels.  This includes sockets, pipes, and
  57.             most devices.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.           +o Bug #528471 :  This fixes a crash caused when a file
  75.             that is mmapped by a process is truncated by another
  76.             process.
  77.  
  78.           +o Bug #520131 :  Fixes HARDWARE ERROR STATE contains
  79.             useless information. This was only relevant on IP25-
  80.             based systems where speculation could cause an
  81.             undesirable side-effect and in some cases there would
  82.             be useless info from the analysis.
  83.  
  84.           +o Bug #519323 :  Need to log panic output to NVRAM on
  85.             Challenge. We now store PANIC string in NVRAM as well
  86.             as EFrame when there is a SW failure. For Hardware
  87.             failures we store the output of the FRU analzer as well
  88.             as the panic string. Use the "nvlog" command to read
  89.             the NVRAM log, use "nvlog -c" to clear it.
  90.  
  91.           +o Bug #520020 :  Kernel should dump eframe to
  92.             putbuf/promlog on panic. We now dump the panic string
  93.             to the NVRAM as well so that we can determine the
  94.             source of the failure.
  95.  
  96.           +o Bug #520021 :  Should dump eframe into nvram and the
  97.             putbuf for kernel faults.
  98.  
  99.           +o Bug #520022 :  Need a fru analyzer patch for Irix 6.2
  100.             Challenges. This patch includes the FRU analyzer for
  101.             hardware failure analysis.
  102.  
  103.           +o Bug #525192 :  IP19 system hang and loss of nvram
  104.             variables. Buffer ovverrun when running Debug kernels
  105.             and lots of panic output. Fixed with new NVRAM logging
  106.             codes.
  107.  
  108.           +o Bug #517393 : Patches 2401 and 2119 did not work for
  109.             Challenge DM systems (Single CPU IP19).  This was
  110.             because of a problem with the tlbmiss handler which had
  111.             too many instructions for 250Mhz IP19 systems. We now
  112.             use the MP utlbmiss prologue for IP19 and treat all
  113.             IP19 (MP/UP) in the same way (fixing the problem).
  114.             Customers who install this patch will have all the
  115.             latest bugfixes.
  116.  
  117.           +o Bug #502234 :  Fix problems with pthread programs
  118.             freeing the posix timer structure multiple times in the
  119.             exec and exit paths.
  120.  
  121.           +o Bug #474898 :  Fix cases where NLM cancel requests are
  122.             not honored properly.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.           +o Bug #438964 :  Fix possible kernel panics during NLM
  141.             request processing.
  142.  
  143.           +o Bug #377254 :  Race condition between vhand and sched
  144.             accessing page tables Fix a bug involving a race
  145.             condition between vhand and sched. Due to the way
  146.             locking is implemented, it was possible for sched to be
  147.             trimming the page table of a process while vhand is
  148.             trying steal pages from that process. This could have
  149.             potential race condition, and result in a system crash.
  150.             This has been fixed.
  151.  
  152.           +o Bug #456165 :  With a large number of processes and
  153.             open files on the system, we were overflowing the
  154.             reference count field in the kernel internal credential
  155.             structure that was leading to kmem_zone_alloc panics.
  156.             This has been fixed in this patch by using a larger
  157.             field to hold the reference count.
  158.  
  159.           +o Bug #494445 :  prctl(PR_SETEXITSIG, signal) doesn't
  160.             provide the semantics needed by most multi-threaded
  161.             applications.  The semantics of PR_SETEXITSIG were
  162.             defined at a time when parallel Fortran codes were the
  163.             order of the day.  In that world, if any thread exited
  164.             the application for any reason whatsoever, the
  165.             application needed to terminate.  With multi-threaded
  166.             applications there is still the desire to terminate the
  167.             application if any of the threads terminate abnormally,
  168.             but calls to exit() and exec() by a thread shouldn't
  169.             cause application termination.  This patch adds a new
  170.             prctl(PR_SETABORTSIG, signal) which does exactly that.
  171.             If any thread aborts due to a signal, the share group
  172.             will be sent the specified signal.  On the other hand,
  173.             if a thread exits the share group via a call to exit()
  174.             or exec() the signal will not be sent.  PR_SETEXITSIG
  175.             and PR_SETABORTSIG are mutually exclusive; setting
  176.             either one will nullify any previous setting of the
  177.             other.  As with PR_SETEXITSIG, doing a
  178.             prctl(PR_SETABORTSIG, 0) disables the abort signal
  179.             processing.
  180.  
  181.           +o Bug #493505 :  The kernel messages and handling of
  182.             these messages in response to an NMI was incorrect.
  183.  
  184.           +o Bug #483230 :  Debugging of programs that used sproc
  185.             and shared memory could cause a kernel memory leak,
  186.             leading to out of memory conditions in extreme cases.
  187.  
  188.           +o Bug #477641 :  When gang processes are executed while
  189.             simultaneously isolating/restricting processors, the
  190.             system can hang. This bug has been particularly
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             encountered while running Sirius application which
  207.             performs isolation/restriction.  Also see 505362 below.
  208.  
  209.           +o Bug #470142 :  A data structure that links related
  210.             sproc processes was not being accessed with the proper
  211.             protocol by a /proc procedure.  A ps(1) that occurred
  212.             while an sproc was exitting could have caused a system
  213.             crash.
  214.  
  215.           +o Bug #464517 :  An error in emulating some branch
  216.             conditions that trap into the kernel was fixed.  With
  217.             some input values, this could affect the results of the
  218.             exp() library function.
  219.  
  220.           +o Bug #494132:  Fixed a buffer overrun security
  221.             vulnerability in the _p_s_e_t(1M) command.
  222.  
  223.           +o Bug #494558 :  When a cpu cach error occurs on an IP19,
  224.             the ecc_handler was not using the correct pair of data
  225.             words to compute the expected ECC and hence was not
  226.             correctly determining whether the error was correctable
  227.             or uncorrectable.
  228.  
  229.           +o Bug #705897 :  ORIGIN PROGRAM FAILS WITH F77 7.2 USING
  230.             -O3
  231.             This was a bug in the floating point emulation code in
  232.             the kernel. If a floating point exception is taken on
  233.             an instruction in a branch delay slot, the kernel must
  234.             emulate the branch in order to compute the proper
  235.             program counter for the faulting program. The emulation
  236.             code for the MIPS4 bc1t/bc1f family of instructions was
  237.             incorrect, thus resulting in an incorrect program
  238.             counter when the user program was restarted after the
  239.             exception.
  240.  
  241.           +o Bug #488923 :  Allow R10K Revision 3.X parts in IP25
  242.             systems.
  243.  
  244.           +o Bug #505850 :  Corrects corrupted in memory inode when
  245.             an open O_TRUNC system call for a DMAPI file is
  246.             rejected by the DMAPI application.
  247.  
  248.           +o Bug #484792 :  mmap() and mmap64() at file offsets > 2
  249.             GByte had problems.
  250.  
  251.           +o Bug #506220 :  idbg stops printing when a DMAPI file
  252.             system encountered.
  253.  
  254.           +o Bug #507109 :  System controller daemon should print
  255.             more useful information about unknown alarms and
  256.             conditions. The system controller daemon did not
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.             previously list a voltage supply as having VDC
  273.             variance, now it logs such conditions. Also, the system
  274.             controller will now log unknown alarms and monitor
  275.             blower speeds more accurately.
  276.  
  277.           +o Bug #507093 :  Race condition in Everest error handler
  278.             could cause double panic. This was a bug dealing with
  279.             Everest error handler code which did not use a TAS to
  280.             avoid a race condition.
  281.  
  282.           +o Bug #504209 : VMECC panic due to simple memory access
  283.             from single board computer.  On IP25 systems, due to
  284.             the speculative execution of the R10K, it is possible
  285.             that we can take a CC error interrupt and not see any
  286.             CC_ERTOIP bit set. This can happen if this cpu is
  287.             getting IP25_CC_ERROR_MY_DATA as a result of another
  288.             cpu doing a vme probe which results in an error.  This
  289.             is caused by a bug in the A-chip and is fixed by
  290.             checking to see if IP25_CC_ERROR_PARITY_D is caused by
  291.             a user level vme probe, and if so, clear the error and
  292.             clear the IP25_CC_ERROR_MY_DATA error for all other
  293.             cpus.
  294.  
  295.           +o Bug #505362 : Correct a fix for bug #477641, which can
  296.             be seen in patch 2119.  With patch 2119, where the fix
  297.             is incorrect, the system may hang when
  298.             sysmp(MP_ISOLATE), sysmp(MP_UNISOLATE),
  299.             sysmp(MP_RESTRICT) or sysmp(MP_EMPOWER) is performed;
  300.             typically, these system calls are issued by the
  301.             mpadmin(1M) system utility program.
  302.  
  303.           +o Bug #511559 :  It was possible for the fsync system
  304.             call to return before all file data was flushed to disk
  305.             on an XFS filesystem.
  306.  
  307.           +o Bug #512105 :  This patch contains a fix for a problem
  308.             that can cause systems to cease responding to network
  309.             requests when the system is low on memory under certain
  310.             conditions.  The problem has only been seen on systems
  311.             running more than 10,000 Netscape server processes, but
  312.             it could theoretically happen on less heavily loaded
  313.             machines.  The problem is caused when the system is low
  314.             on memory and the paging daemon wakes up the shake
  315.             daemon ('shaked') in an attempt to free memory
  316.             resources used by some of the kernel's internal
  317.             allocation mechanisms.  The shake daemon can run for
  318.             many seconds without yielding the cpu and there is a
  319.             bug that causes processes which still have affinity to
  320.             the cpu on which the shaked thread is running not to be
  321.             moved off the local run queue of that cpu.  As a result
  322.             they can't run, even though they are ready to run,
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.             until the shake daemon finishes.  If one of those
  339.             ready-to-run processes holds a kernel resource (lock,
  340.             mutex or semaphore) on which other processes are
  341.             waiting, then the system can appear to be hung for
  342.             seconds or minutes.  The fix insures that the ready-
  343.             to-run processes get moved to the global run queue to
  344.             be executed by other cpus, even when the original cpu
  345.             is executing kernel thread as opposed to a normal user
  346.             process.
  347.  
  348.           +o Bug #523501:  A header file change in patch 2187 caused
  349.             the _p_s_e_t(1M) command to malfunction in that patch.  In
  350.             the current patch and later patches, _p_s_e_t(1M) has been
  351.             recompiled in order to pick up the new structure
  352.             definitions.
  353.  
  354.           +o Bug #526031 :  Correct a problem where gather_chunk is
  355.             recursively called during a low memory situation, with
  356.             the buffer already locked. By examining 6.3 and 6.4
  357.             code pathes, it appears that this problem was fixed as
  358.             a result of PV 414081.  This code is already in 6.3 and
  359.             6.4.
  360.  
  361.        Bugs fixed in Patch SG0001990:
  362.  
  363.           +o Bug #470926 :  All pthreads in a pthread program did
  364.             not share the posix timer ids. With this patch all
  365.             pthreads share the timerid name space.
  366.  
  367.           +o Bug #421932 :  Calling suser form interrupt causes
  368.             <0>PANIC: CPU 0: vfault: curproc is NULL.  CAP_ABLE was
  369.             being used to check credential of process. Problem is
  370.             that action could be the result of a STREAMS service
  371.             routine and there is either no process or the process
  372.             is not the one who made the request.
  373.  
  374.           +o Bug #439590 :  streams perf problem.
  375.             spinunlock_qmonitor uses the timeout thread to execute
  376.             deferred monitor requests on the global monitor. This
  377.             introduces excessive latency. This is replaced by a
  378.             pool of kernel threads. Note this patch disables the
  379.             systune "monqtimeout" parameter.
  380.  
  381.           +o Bug #465038 :  Bug #470796 :  For IP25 systems only,
  382.             fixed a graphics performance problem introduced as a
  383.             side effect of another bug fix.
  384.  
  385.           +o Bug #469770 :  This is a fix for an R4000/R4400 chip
  386.             bug. The chip bug went as follows:  In the tlbmiss
  387.             refill handler, we had the C0_WRITER opcode in the
  388.             delay slot of a branch instruction. That branch/WRITER
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                   - 7 -
  401.  
  402.  
  403.  
  404.             pair was near the end of the icache line. Suppose that
  405.             there is a C0_READI hanging out in the icache, and that
  406.             READI happens to be in the first word of the next line
  407.             of the icache. The R4000/4400 starts the READI down the
  408.             pipeline before it realizes that it is actually a cache
  409.             miss, but apparently some processor state is not
  410.             properly restored when the READI is killed. This leads
  411.             to a processor hang.
  412.  
  413.           +o Bug #478104 :  Software should set 90 Mhz IP21 cpus
  414.             boards to low 3V for better HW margins.
  415.  
  416.           +o Bug #479714 :  This is a bug where nanosleep remainders
  417.             were a factor of 10 too big on IP22, IP26 and IP28 when
  418.             the process has real time priority.
  419.  
  420.           +o Bug #480136 :  This is a fix where EPERM somtimes would
  421.             be incorrectly returned as an error for the nanosleep
  422.             system call.
  423.  
  424.           +o Bug #483943 :  This patch adds a common API for MIPS
  425.             ABI applications to support licensing requirements.
  426.             The command _MIPS_SI_SERIAL is added to sysinfo() to
  427.             return a unique hardware serial number.  See
  428.             "sys/systeminfo.h" for the definition of
  429.             _MIPS_SI_SERIAL.
  430.  
  431.        Bugs fixed in Patch SG0001717:
  432.  
  433.           +o Bug #372937 :  Enabled macro names for reader/writer
  434.             lock operations such as RW_LOCK in
  435.             usr/include/sys/ksynch.h.
  436.  
  437.           +o Bug #405092 :  For IP21 systems only, include the
  438.             missing vmeuli.o binary.
  439.  
  440.           +o Bug #450840 :  For IP25, serialize config writes/intrs
  441.             to avoid a potential hardware deadlock.
  442.  
  443.           +o Bug #453979 :  For IP25, turn off piggyback reads to
  444.             avoid a potential hardware hang.
  445.  
  446.           +o Bug #455481 :  For Challenge (EVEREST) systems,
  447.             increased the dang chip timeout since it was too small.
  448.  
  449.           +o Bug #457843 :  For IP21 systems only, correct a kernel
  450.             fault in the ULI_wakeup library call.
  451.  
  452.           +o Bug #465061 :  Passing bogus values into sprofil()
  453.             could panic kernel.
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                   - 8 -
  467.  
  468.  
  469.  
  470.           +o Bug #465063 :  Possible kernel panic when using
  471.             WorkShop's "Step Over" function on a pthreads
  472.             application.
  473.  
  474.           +o Bug #469254 :  For EVEREST systems, stop all cpus
  475.             before reading MC3 Config Registers to avoid a
  476.             potential hang.
  477.  
  478.           +o Bug #470333 :  One case of unique id (uuid) comparison
  479.             in the kernel was incorrect; also the error codes
  480.             returned for different flavors of invalid uuids were
  481.             not in compliance with the DCE specification.
  482.  
  483.        Bugs fixed in Patch SG0001733:
  484.  
  485.           +o Bug #451134 :  For Challenge (EVEREST) systems, use
  486.             uncached reads to synchronize between cpus and io
  487.             instead of config read of an A-chip reg. This fixes a
  488.             hardware deadlock.
  489.  
  490.        Bugs fixed in Patch SG0001650:
  491.  
  492.           +o Bug #412011 :  Fixes bug which amongst other things
  493.             would result in error messages like
  494.             "preg_color_validation: virtual color mismatch" when
  495.             running some N32 applications on earlier revisions of
  496.             the R5000 CPU.
  497.  
  498.           +o Bug #425381 :  Fixes a very slow kernel page leak which
  499.             occurs when running N32 applications on earlier
  500.             revisions of the R5000 CPU which require the workaround
  501.             for the cvt instruction.
  502.  
  503.           +o Bug #433639 :  If the clock crystal is off a little bit
  504.             (either inherently slightly off speed or due to
  505.             temperature), an Indy may be confused about whether it
  506.             has a 175Mhz (R4400) or 180Mhz (R5000) processor.  This
  507.             could lead to incorrect output from hinv, the system
  508.             clock may run inaccurately, etc.
  509.  
  510.           +o Bug #443076 :  The newarraysess(2) system call was
  511.             unnecessarily restricted to the superuser.  Any user
  512.             may now execute the newarraysess system call, although
  513.             superuser privileges are still needed to actually
  514.             modify the array session handle.
  515.  
  516.           +o Bug #445198 :  Update memory system support for on the
  517.             Indigo2 10000 for systems with two or three memory
  518.             banks that include one bank of 64MB SIMMs (256MB
  519.             upgrade).  Affected configurations cannot use the
  520.             kernel debugger, symmon with this change, until the
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                   - 9 -
  533.  
  534.  
  535.  
  536.             next major IRIX release.
  537.  
  538.           +o Bug #447743 :  Truncate system calls to files in XFS
  539.             filesystems did not check for write permission
  540.             correctly.  A current XFS kernel patch is also required
  541.             for the complete fix to this problem.
  542.  
  543.           +o Bug #448015 :  For IP25 systems only, this fixes a
  544.             panic introduced in patch1624 in mc3 error logging
  545.             code.
  546.  
  547.           +o Bug #448859 :  The uuid routines were not checking for
  548.             illegal uuid variants.  The changes here affect only
  549.             kernel users of the uuid routines.  The fix for
  550.             programs that use the uuid(3) routines is in libc in
  551.             rollup patch 1571 (and its successors).
  552.  
  553.           +o Bug #450581 :  For IP25 systems only, this fixes a
  554.             panic introduced in patch1624 in io4 error clearing
  555.             code.
  556.  
  557.        Bugs fixed in Patch SG0001624:
  558.  
  559.           +o Bug #310210, #373477, #391065, #430303 :  Fix panics in
  560.             audit system.
  561.  
  562.           +o Bug #345536 :  The kernel open file offset pointer was
  563.             not always managed correctly.  This could happen when
  564.             simultaneous or overlapping read or write operations
  565.             were made to a user file descriptor that was being
  566.             shared (either parent and child process sharing file
  567.             descriptors or an sproc(2) group created with the
  568.             PR_SFDS or PR_SALL attributes).
  569.  
  570.           +o Bug #480640 :  A pthread that blocked a particular
  571.             signal then attempted to wait for the signal via
  572.             sigwait(3) or sigtimedwait(3) would not be notified of
  573.             the signal's delivery.
  574.  
  575.           +o Bug #358103 :  par command has partial write problem
  576.             when timer goes off and interrupts the write.
  577.  
  578.           +o Bug #358534 :  The syssgi() call for SGI_DBA_CONFIG was
  579.             not correctly returning the current parameters for
  580.             kernel async I/O. This fix corrects that problem.
  581.  
  582.           +o Bug #358539 :  A performance enhancement for disk I/O
  583.             was inadvertently removed from the 6.2 release. This
  584.             fix reinstates that enhancement.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                   - 10 -
  599.  
  600.  
  601.  
  602.           +o Bug #360218 :  IRIX 6.2 is now Posix 1003.1b compliant.
  603.             Kernel support for Posix:  message passing, process
  604.             memory locking, real-time scheduling, semaphores, and
  605.             timers has been added.
  606.  
  607.           +o Bug #381260 :  Direct I/O read on IP28 needs R10000
  608.             speculative execution workaround.
  609.  
  610.           +o Bug #383918 :  Partial support for the server side of
  611.             the Bulk Data Service.
  612.  
  613.           +o Bug #388860 :  Fixes the shmctl hang that occurs when
  614.             an invalid shared memory segment is specified for
  615.             removal.
  616.  
  617.           +o Bug #418568 :  This fixes a scip code panic for IP19
  618.             and IP25 systems. The code makes sure that PIOWRITES
  619.             are flushed out to IO in the right sequence.  Fixed
  620.             this bug for R8k Power Challenges (IP21) as well.
  621.  
  622.           +o Bug #418570 :  For IP25 only, this code is a workaround
  623.             for an R10000 LL/SC bug.
  624.  
  625.           +o Bug #423671 :  Temp. fix to get around the known sat
  626.             (system audit trail) subsytem bug which panics the
  627.             kernel. This change excludes sat. If reqd., sat needs
  628.             to be included explicitly after the patch is installed.
  629.  
  630.           +o Bug #423676 :  Adds missing file offset mutex
  631.             constructors and destructors.
  632.  
  633.           +o Bug #423841 :  User called cacheflush fixed for R10000
  634.             based Challenge/POWER Challange.
  635.  
  636.           +o Bug #428281 :  If a program using kernel async I/O
  637.             placed an aio request block at an address higher than
  638.             0xffffffff, only the lower 32 bits of the pointer would
  639.             be used. With this fix, programs may safely place
  640.             request blocks anywhere in the virtual address space.
  641.  
  642.           +o Bug #428472 :  Fixed a case for R10000 based systems,
  643.             where a bad user address passed as an argument to
  644.             syscall would panic the system.
  645.  
  646.           +o Bug #429948 :  Fixes accuracy of POSIX timers using
  647.             absolute time on an Indy.
  648.  
  649.           +o Bug #431097 :  Fixes return values for rtlocks.
  650.  
  651.           +o Bug #431100 :  Fixes the NFS nanosleep interface,
  652.             returning the proper time remainder when interrupted.
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                   - 11 -
  665.  
  666.  
  667.  
  668.           +o Bug #433007 :  Fixes cachectl system call.
  669.  
  670.           +o Bug #434065 :  Fix problem which tends to show up on
  671.             small processor count MP systems when a job uses an
  672.             SPROC group and kernel asynch I/O. When one of the
  673.             processes belonging to the group exits while another
  674.             process is actively using kaio, the exiting process may
  675.             hang the processor.Wq
  676.  
  677.           +o Bug #434940 :  Clear IO4 error state caused by R10000
  678.             speculation which may result in misleading FRU
  679.             analysis.
  680.  
  681.           +o Bug #439394 :  real-time jitter problem when accessing
  682.             /proc.  Real time processes handling SIGALRM signals
  683.             generated by interval timers experience occasional
  684.             delays when being accessed through /proc.  The jitter
  685.             is removed as long as /proc access is read-only and
  686.             process has no watchpoints.
  687.  
  688.           +o Bug #439590 :  streams perf problem. Added a tuneable
  689.             parameter, monqtimeout, that can be adjusted by
  690.             systune(1m) to alter the timeout between a
  691.             streams_interrupt() call and the processing of any
  692.             deferred streams requests. The default value is 2 ticks
  693.             (previous value). The allowed values for "monqtimeout"
  694.             are 0, 1, 2.  Lower values will decrease the latency
  695.             and thus improve streams performance for streams
  696.             networking using the global streams monitor.
  697.  
  698.           +o Bug #442793 :  Use cache aliasing and duplicate cache
  699.             tag writes instead of secondary cache ops on IP25
  700.             systems for SBE and cache error recovery.
  701.  
  702.        Bugs fixed in Patch SG0001569:
  703.  
  704.           +o Bug #414116 :  This patch has a code modification to
  705.             avoid a known hardware bug for the Challenge/POWER
  706.             Challenge/Onyx platforms with R4400 and R10000
  707.             processor.
  708.  
  709.           +o Bug #417299 :  IP22 only: system hangs while performing
  710.             network-intensive operations.  The mouse cursor doesn't
  711.             move, no crash dump is produced, the power button
  712.             doesn't work; a ``paperclip reset'' is required.
  713.  
  714.           +o Bug #419742 :  This patch fixes a bug in the
  715.             performance monitoring code for the R10000.
  716.  
  717.           +o Bug #435141 :  Put in validity checks for user-passed
  718.             arguments for setitimer/getitimer calls.
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.                                   - 12 -
  731.  
  732.  
  733.  
  734.        Bugs fixed in Patch SG0001488:
  735.  
  736.           +o Bug #290185 :  Fixes stack underflow/overflow crash
  737.             that occurs during branch at end of page correction.
  738.  
  739.           +o Bug #348498 :  Allow system dumps to be directed to
  740.             /dev/dump instead of default swap device if /dev/dump
  741.             exists.  If /dev/dump does not exist, then /dev/swap
  742.             will be used as before.
  743.  
  744.           +o Bug #396013 :  Minor tuneup and optimization of the low
  745.             level interrupt handling code for IP19 and IP25
  746.             platforms.
  747.  
  748.           +o Bug #399759 :  Calls to rename() for files in loopback
  749.             filesystems were failing.
  750.  
  751.           +o Bug #404913 :  Kernel could lock up in an endless loop
  752.             in code which handles shared text pages modified for
  753.             processor-specific workarounds.
  754.  
  755.           +o Bug #404995 :  Guard against negative and other illegal
  756.             process group IDs in function BSDsetpgrp().
  757.  
  758.        Bugs fixed in Patch SG0001534:
  759.  
  760.           +o Bug #397611 :  For IP25 only, this fix is to prevent
  761.             system hardware deadlock which results in a IO4
  762.             EBUS_TIMEOUT error.
  763.  
  764.           +o Bug #399891 :  For IP25 only, this fix is to prevent
  765.             Mbuf corruption seen in ipg code.
  766.  
  767.        Bugs fixed in Patch SG0001429:
  768.  
  769.           +o Bug #254494 :  The readv() and writev() system calls
  770.             could not be used in conjunction with direct I/O.
  771.  
  772.           +o Bug #371229 :  The /var/sysgen/Makefile.kernio supplied
  773.             with 6.2 did not have the compile options for the IP25.
  774.             This patch supplies a new version of the file with the
  775.             IP25 compile options specified.
  776.  
  777.           +o Bug #383422 :  R10K perf counters bug where if the user
  778.             was getting a signal on overflow, then the counts were
  779.             inexact.
  780.  
  781.           +o Bug #384003 :  libfpe on R8K loops on an FPE when used
  782.             with SpeedShop.
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.                                   - 13 -
  797.  
  798.  
  799.  
  800.           +o Bug #385308 :  R10K perf counters bug where the
  801.             counters weren't read from the appropriate cpu.
  802.  
  803.           +o Bug #391815 IP28 system ECC error handler fix.  A
  804.             missing label could cause the ECC error handler on IP28
  805.             systems to fail in random ways.
  806.  
  807.           +o Bug #395329 :  Add support for Indigo2 IMPACT 10000
  808.             (IP28) to kernel rollup.
  809.  
  810.           +o Bug #400456 :  R10K Cache error recovery code for
  811.             primary data cache and secondary cache errors could
  812.             incorrectly invalidate a dirty line under some
  813.             circumstances.
  814.  
  815.           +o Bug #403192 :  Applications using large Shared Memory
  816.             segments (greater than 500 Megs) can cause kernel
  817.             virtual memory to be exhausted. This happens when a lot
  818.             of independent processes (hundreds) are attaching to
  819.             the same SHM segment.  On large configurations, several
  820.             Relational Databases may exhibit this behavior.  If the
  821.             kernel virtual memory becomes exhausted the system
  822.             appears unable to perform any work and a reboot is
  823.             necessary.  This patch fixes this problem, by allowing
  824.             independent processes to share the kernel data
  825.             structures that describe their address space.  These
  826.             data structures are called Page Tables and contain
  827.             information about the virtual to physical address
  828.             translation.  For instance let's assume that a SHM
  829.             segment has size 750 Megabytes and 500 processes are
  830.             attached to it.  With private Page Tables IRIX uses 375
  831.             Megabytes of Kernel Memory.  With shared Page Table
  832.             IRIX uses 750 Kilobytes.  Another big benefit of
  833.             sharing Page Table is speed. In fact any new process
  834.             attaching to the SHM segment benefits from the page
  835.             faulting activity performed by other attached
  836.             processes.  This dramatically reduces the number of
  837.             page faults and makes a great difference in the overall
  838.             performance.  This patch is highly recommended for
  839.             installation running large Oracle Data Bases.
  840.             Processes that want to make use of this feature should
  841.             specify a special flags when calling _s_h_m_a_t. This option
  842.             is only available if both the attaching address and the
  843.             size of the SHM segment satisfy appropriate
  844.             restrictions.  See _s_h_m_a_t(2) for detailed information.
  845.  
  846.        Bugs fixed in Patch SG0001389:
  847.  
  848.           +o Bug #313568 :  The kernel did not contain certain
  849.             performance enhancements which are need for a future
  850.             release of SoftWindows.
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.                                   - 14 -
  863.  
  864.  
  865.  
  866.           +o Bug #357358 :  Access to XFS file systems could hang
  867.             under load from a large number of processes.  The
  868.             portion of this bug fix requiring changes to generic
  869.             kernel subsystems is included in this patch.  The other
  870.             portion of the fix is in the XFS rollup patch.
  871.  
  872.           +o Bug #373353 :  The shaked system daemon would sometimes
  873.             appear to run out of control when the available memory
  874.             in the system ran low.
  875.  
  876.        Bugs fixed in Patch SG0001353:
  877.  
  878.           +o Bug #359208 :  Some multiple IO4 IP21 systems
  879.             experience g-cache errors upon upgrading to 6.2.  The
  880.             software workaround for 323277 uncovers another
  881.             hardware problem with the IP21 cpu which causes those
  882.             cpus to report g-cache parity errors.  The fix
  883.             contained in this patch either eliminates or
  884.             dramatically reduces the rate of occurrence of this g-
  885.             cache problem.  Also fixes bug in workaround for 323277
  886.             which could occur on IP21 systems with more than 4 GB
  887.             of physical memory.
  888.  
  889.           +o Bug #370236 :  statfs fails for nfs mount points if the
  890.             backing filesystem is loopback mounted on the server,
  891.             as is the case with ISO9660 and DOS file systems.
  892.  
  893.        Bugs fixed in Patch SG0001323:
  894.  
  895.           +o Bug #375618 :  The R5000 Rev. 1.1 processor sometimes
  896.             executes cvt.d.l and cvt.s.l incorrectly.
  897.  
  898.           +o Bug #379617 :  The initial workaround for the R5000
  899.             Rev. 1.1 problem in regard a load or store in the delay
  900.             slot of a branch at the end of an odd page introduced
  901.             more system overhead than was necessary.  This patch
  902.             makes the overhead negligible.
  903.  
  904.        Bugs fixed in Patch SG0001243:
  905.  
  906.           +o Bug #362736 :  A chip bug cause my ebus data error on
  907.             IP25.
  908.  
  909.        Bugs fixed in Patch SG0001222:
  910.  
  911.           +o Bug #354768 :  If the syssgi call for T5 counter
  912.             profiling is made on an R4K machine, the call generates
  913.             a signal, rather than just returning an error.  For
  914.             consistency with other calls, it should just return an
  915.             error (ENODEV seems reasonable).  The current behavior
  916.             is not how the man page reads.
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.                                   - 15 -
  929.  
  930.  
  931.  
  932.           +o Bug #363194 : User level VME probe operations that
  933.             failed would cause panic. This occurs on IP25 only.
  934.  
  935.           +o Bug #365043 :  File system ``unique universal
  936.             identifiers'' (UUIDs) were not always unique.  This
  937.             could cause problems in XFS and XLV.
  938.  
  939.           +o Bug #366384 :  This bug would cause the prda to become
  940.             corrupted on machines using the R4600 processor.
  941.  
  942.           +o Bug #376366 : Logged but undisplayed recoverable cache
  943.             errors were not printed on system panic. This problem
  944.             occurs on IP25 only.
  945.  
  946.           +o Bug #417900 :  Fixed bug where sproc'ed processes may
  947.             see kernel Instruction Bus Error panics with some
  948.             kernels, depending on how they were linked.  This
  949.             problem occured on IMPACT 10000 (IP28) only.
  950.  
  951.           +o Bug #464517 :  Fixed bug kernel's emulate_branch code.
  952.             This scenario can happen whenever there is a floating
  953.             point instruction in the shadow of one of these
  954.             branches.  Found because the exponential function in
  955.             libfastm was sometimes failing.
  956.  
  957.           +o Bug #483230 :  Made an optimization in the code dealing
  958.             with shaddr sproc processes which are being debugged
  959.             and had locked instruction pages. Each sproc being
  960.             debugged would get its own copy of all the locked
  961.             instruction pages, leading to bloat. This page copying
  962.             has been minimized so that only the page which is being
  963.             modified by the debugger (eg for setting breakpoints)
  964.             will be made private to the target sproc.
  965.  
  966.           +o Bug #493505 :  While taking an nmi kernel dump, set a
  967.             special variable to enable the code not to wait for
  968.             spinlocks (putbuf lock).
  969.  
  970.        1.4  _S_u_b_s_y_s_t_e_m_s__I_n_c_l_u_d_e_d__i_n__P_a_t_c_h__S_G_0_0_0_2_7_7_7
  971.  
  972.        This patch release includes these subsystems:
  973.  
  974.           +o patchSG0002777.dev_man.irix_lib
  975.  
  976.           +o patchSG0002777.eoe_hdr.lib
  977.  
  978.           +o patchSG0002777.eoe_sw.kdebug
  979.  
  980.           +o patchSG0002777.eoe_sw.perf
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.                                   - 16 -
  995.  
  996.  
  997.  
  998.           +o patchSG0002777.eoe_sw.unix
  999.  
  1000.           +o patchSG0002777.nfs_sw.dskless_client
  1001.  
  1002.  
  1003.        1.5  _I_n_s_t_a_l_l_a_t_i_o_n__I_n_s_t_r_u_c_t_i_o_n_s
  1004.  
  1005.        Because you want to install only the patches for problems
  1006.        you have encountered, patch software is not installed by
  1007.        default.  After reading the descriptions of the bugs fixed
  1008.        in this patch (see Section 1.3), determine the patches that
  1009.        meet your specific needs.
  1010.  
  1011.        If, after reading Sections 1.1 and 1.2 of these release
  1012.        notes, you are unsure whether your hardware and software
  1013.        meet the requirements for installing a particular patch, run
  1014.        _i_n_s_t.  The _i_n_s_t program does not allow you to install
  1015.        patches that are incompatible with your hardware or
  1016.        software.
  1017.  
  1018.        Patch software is installed like any other Silicon Graphics
  1019.        software product.  Follow the instructions in your _S_o_f_t_w_a_r_e
  1020.        _I_n_s_t_a_l_l_a_t_i_o_n _A_d_m_i_n_i_s_t_r_a_t_o_r'_s _G_u_i_d_e to bring up the miniroot
  1021.        form of the software installation tools.
  1022.  
  1023.        Follow these steps to select a patch for installation:
  1024.  
  1025.          1.  At the Inst> prompt, type
  1026.  
  1027.              iiiinnnnssssttttaaaallllllll ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  1028.  
  1029.              where _x_x_x_x_x_x_x is the patch number.
  1030.  
  1031.          2.  Initiate the installation sequence. Type
  1032.  
  1033.              IIIInnnnsssstttt>>>> ggggoooo
  1034.  
  1035.          3.  You may find that two patches have been marked as
  1036.              incompatible.  (The installation tools reject an
  1037.              installation request if an incompatibility is
  1038.              detected.)  If this occurs, you must deselect one of
  1039.              the patches.
  1040.  
  1041.              IIIInnnnsssstttt>>>> kkkkeeeeeeeepppp ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  1042.  
  1043.              where _x_x_x_x_x_x_x is the patch number.
  1044.  
  1045.          4.  After completing the installation process, exit the
  1046.              _i_n_s_t program by typing
  1047.  
  1048.              IIIInnnnsssstttt>>>> qqqquuuuiiiitttt
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.                                   - 17 -
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.        1.6  _P_a_t_c_h__R_e_m_o_v_a_l__I_n_s_t_r_u_c_t_i_o_n_s
  1067.  
  1068.        To remove a patch, use the _v_e_r_s_i_o_n_s _r_e_m_o_v_e command as you
  1069.        would for any other software subsystem.  The removal process
  1070.        reinstates the original version of software unless you have
  1071.        specifically removed the patch history from your system.
  1072.  
  1073.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  1074.  
  1075.        where _x_x_x_x_x_x_x is the patch number.
  1076.  
  1077.        To keep a patch but increase your disk space, use the
  1078.        _v_e_r_s_i_o_n_s _r_e_m_o_v_e_h_i_s_t command to remove the patch history.
  1079.  
  1080.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeeehhhhiiiisssstttt ppppaaaattttcccchhhhSSSSGGGG_x_x_x_x_x_x_x
  1081.  
  1082.        where _x_x_x_x_x_x_x is the patch number.
  1083.  
  1084.        1.7  _K_n_o_w_n__P_r_o_b_l_e_m_s
  1085.  
  1086.  
  1087.        None.
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.